|
Note: Wait! Stop! Before you copy this actor's definition into your mod, remember the following things:
- You do NOT need to copy that actor, since it is already defined.
- In fact, it's not just useless, it will cause problems.
- If you want to modify it, or use a modified version, using inheritance is the way to go.
- The actor definitions here are put on the wiki for reference purpose only. Learn from them, don't copy them.
|
The Sigil
|
Actor type
|
Weapon
|
Game
|
(Strife)
|
DoomEd Number
|
None
|
Class Name
|
Sigil
|
Classes: Weapon→Sigil
→Sigil1
→Sigil2
→Sigil3
→Sigil4
→Sigil5
The Sigil of the One God is a sentient weapon, worshiped by the Order. This weapon is upgradeable by finding the other pieces. It uses the player's health as ammo.
This uses a lot of Strife-specific functions to decide what sprite to display and what action to do, things that are easier and more flexible to accomplish using A_Jump and other ZDoom functions, so use this code as a point of reference only.
ACTOR Sigil : Weapon native
{
Weapon.Kickback 100
Weapon.SelectionOrder 4000
Health 1
+FLOORCLIP
+WEAPON.CHEATNOTWEAPON
Inventory.PickupSound "weapons/sigilcharge"
Tag "$TAG_SIGIL" // "SIGIL"
Inventory.Icon "I_SGL1"
Inventory.PickupMessage "$TXT_SIGIL" // "You picked up the SIGIL."
action native A_SelectPiece();
action native A_SelectSigilView();
action native A_SelectSigilDown();
action native A_SelectSigilAttack();
action native A_SigilCharge();
action native A_FireSigil1();
action native A_FireSigil2();
action native A_FireSigil3();
action native A_FireSigil4();
action native A_FireSigil5();
States
{
Spawn:
SIGL A 1
SIGL A -1 A_SelectPiece
Stop
SIGL B -1
Stop
SIGL C -1
Stop
SIGL D -1
Stop
SIGL E -1
Stop
Ready:
SIGH A 0 Bright A_SelectSigilView
Wait
SIGH A 1 Bright A_WeaponReady
Wait
SIGH B 1 Bright A_WeaponReady
Wait
SIGH C 1 Bright A_WeaponReady
Wait
SIGH D 1 Bright A_WeaponReady
Wait
SIGH E 1 Bright A_WeaponReady
Wait
Deselect:
SIGH A 1 Bright A_SelectSigilDown
Wait
SIGH A 1 Bright A_Lower
Wait
SIGH B 1 Bright A_Lower
Wait
SIGH C 1 Bright A_Lower
Wait
SIGH D 1 Bright A_Lower
Wait
SIGH E 1 Bright A_Lower
Wait
Select:
SIGH A 1 Bright A_SelectSigilView
Wait
SIGH A 1 Bright A_Raise
Wait
SIGH B 1 Bright A_Raise
Wait
SIGH C 1 Bright A_Raise
Wait
SIGH D 1 Bright A_Raise
Wait
SIGH E 1 Bright A_Raise
Wait
Fire:
SIGH A 0 Bright A_SelectSigilAttack
// Sigil1 attack
SIGH A 18 Bright A_SigilCharge
SIGH A 3 Bright A_GunFlash
SIGH A 10 A_FireSigil1
SIGH A 5
Goto Ready
// Sigil2 attack
SIGH B 18 Bright A_SigilCharge
SIGH B 3 Bright A_GunFlash
SIGH B 10 A_FireSigil2
SIGH B 5
Goto Ready
// Sigil3 attack
SIGH C 18 Bright A_SigilCharge
SIGH C 3 Bright A_GunFlash
SIGH C 10 A_FireSigil3
SIGH C 5
Goto Ready
// Sigil4 attack
SIGH D 18 Bright A_SigilCharge
SIGH D 3 Bright A_GunFlash
SIGH D 10 A_FireSigil4
SIGH D 5
Goto Ready
// Sigil5 attack
SIGH E 18 Bright A_SigilCharge
SIGH E 3 Bright A_GunFlash
SIGH E 10 A_FireSigil5
SIGH E 5
Goto Ready
Flash:
SIGF A 4 Bright A_Light2
SIGF B 6 Bright A_LightInverse
SIGF C 4 Bright A_Light1
SIGF C 0 Bright A_Light0
Stop
}
}